#pragma once

#include "Render/VulkanMemory/Images.h"
#include "Containers/Map.h"
#include "Containers/ThreadSafePtr.h"

class CTexture2DPixels;
class CPreRenderTexture2D;
class CVulkanTexture2D;

//管理所有的2D纹理
class CVulkanTexture2Ds
{
public:
    void UpdateTextures(const TVector<std::shared_ptr<CPreRenderTexture2D>> &AllTextureData);

    std::shared_ptr<CVulkanTexture2D>  FindVulkanObj(TThreadSafeSharedPtr<CTexture2DPixels>);
protected:
    TMap< TThreadSafeSharedPtr<CTexture2DPixels>
        ,std::shared_ptr<CVulkanTexture2D> > Texture2Ds;


};